/**
 * 执行顺序：
 * 第一步执行，输出0
 * 先执行0的promise，状态变成pending，加入到micro队列中
 * 执行p(res)，状态变成pending，放到队列中
 * 同理执行p1、p2、p3、p5、p6
 * p0中返回了一个promise4，相当于p4.then(() => 完成p0), 会把p4.then(() => 完成p0)放入micro队列
 * P1完成，输出1
 * p4中() => 完成（p0)放入到队列中
 * p2完成，输出2
 * P0完成，p4放入队列；
 * p3完成，输出3
 * p4完成，输出4
 * p5完成，输出5
 * p6完成，输出6
 */

Promise.resolve().then(() => {
  console.log(0);
  return Promise.resolve(4)
}).then((res) => {
  console.log(res);
  
})

Promise.resolve().then(() => {
  console.log(1);
}).then(() => {
  console.log(2);
}).then(() => {
  console.log(3);
}).then(() => {
  console.log(5);
}).then(() => {
  console.log(6);
})